package com.loong.nnm.services;


import com.loong.nnm.entity.devm.NtpParameter;

/**
 * 设备基本信息获取配置
 *
 * @author wcloong
 * @time 2022/9/13
 */
public interface DevmServices {

    /**
     * 获取设备信息
     *
     * @param node 网元名称
     * @return 设备信息
     */
    String getMe(String node);

    /**
     * 配置设备信息
     *
     * @param node 网元名称
     * @return 操作状态
     */
    String configMe(String node);

    /**
     * 获取NTP服务信息
     *
     * @param node 网元名称
     * @return NTP服务信息列表
     */
    String getNtpServers(String node);

    /**
     * 配置Ntp服务
     *
     * @param node         网元名称
     * @param ntpParameter ntp参数
     * @return 操作状态
     */
    String configNtpServers(String node, NtpParameter ntpParameter);

    /**
     * 获取板卡信息
     *
     * @param node 网元名称
     * @return 板卡信息列表
     */
    String getEqs(String node);

    /**
     * 获取指定的板卡信息
     *
     * @param node 网元名称
     * @param name 板卡名称
     * @return 指定板卡信息
     */
    String getEq(String node, String name);

    /**
     * 获取所有端口信息
     *
     * @param node 网元名称
     * @return 端口信息列表
     */
    String getPtps(String node);

    /**
     * 获取指定端口信息
     *
     * @param node 网元名称
     * @param name 端口名称
     * @return 指定端口信息
     */
    String getPtp(String node, String name);

    /**
     * 获取所有连接端口信息
     *
     * @param node 网元名称
     * @return 连接端口信息列表
     */
    String getCtps(String node);

    /**
     * 获取指定连接端口信息
     *
     * @param node 网元名称
     * @return 连接端口信息
     */
    String getCtp(String node, String name);

    /**
     * 获取所有浮动端口信息
     *
     * @param node 网元名称
     * @return 浮动端口信息列表
     */
    String getFtps(String node);

    /**
     * 获取指定浮动端口信息
     *
     * @param node 网元名称
     * @return 指定浮动端口信息
     */
    String getFtp(String node, String name);

}
